This invention relates to apparatus and methods for data storage in a computerized network or system. More particularly, the present invention relates to management of data at points in time using snapshot volumes of an original base volume, such that later-formed snapshot volumes are retained, rather than deleted, upon returning the base volume to the state of an earlier-formed snapshot volume.
In a computerized data storage system, it is common to store data in a logical volume that changes over time as users access the data to add, delete and modify the data. For large databases or enterprise-critical data storage applications, it is often advantageous to preserve the state of the data at occasional or periodic time intervals using snapshot techniques or mirroring techniques. Such a preserved state is commonly used to return the data to a known stable state if the data ever becomes corrupted or invalid. In such a situation, the users experience only a short interruption in availability of the data before the data is once again accessible, albeit in an earlier state.
In snapshot techniques, as illustrated by FIG. 1, the data is contained in a primary, or xe2x80x9cbase,xe2x80x9d logical volume 100 and various xe2x80x9csnapshotxe2x80x9d logical volumes 102, 104, 106 and 108 are formed therefrom at various times to preserve the state of the base volume 100 at those times. Each snapshot volume 102-108 contains data copied from the base volume 100 that was present in the base volume 100 at the time that the snapshot volume 102-108 was formed. When the base volume 100 is to be returned to the state of one of the snapshot volumes 102-108, the data in the snapshot volume 102-108 is written back into the base volume 100 in a xe2x80x9crollbackxe2x80x9d procedure.
In snapshot techniques, it is typically assumed that if the data in the base volume 100 becomes invalid, then it is only the data that was added to or changed in the base volume 100 since the formation of the snapshot volume 102-108 that is incorrect. Therefore, the snapshot volume 102-108 contains only the original data that was present in the base volume 100 at the time the snapshot volume 102-108 was formed, but which has since been deleted from the base volume 100 or changed or replaced by new data within the base volume 100. Thus, a rollback procedure returns the original data to the base volume 100 and removes any new data. Data that has not been changed in the base volume 100 since the formation of the snapshot volume 102-108, on the other hand, is contained only in the base volume 100 and remains unaffected by a rollback.
After the snapshot volume (e.g. 104) is rolled back into the base volume 100, the snapshot volume 104 is no longer needed, so it may be deleted, unless it is desired to continue to preserve the state of the base volume 100 at the time the snapshot volume 104 was formed. An earlier-formed snapshot volume (e.g. 102), since it preserves an earlier state of the base volume 100, is typically maintained after the rollback of the snapshot volume 104. Later-formed snapshot volumes (e.g. 106 and 108), however, are invalidated and deleted, since the later states of the base volume 100 (at which the later-formed snapshot volumes 106 and 108 were formed) become superfluous after rolling back the base volume 100 to an earlier state. Thus, the later states are lost.
Mirroring techniques enable the preservation of states of a base volume 110, as shown in FIG. 2, at various points in time by copying the entire base volume 110 into mirrored volumes 112, 114, 116 and 118 at those points in time. Since each mirrored volume 112-118 contains a complete copy of the base volume 110 at the points in time when the mirrored volumes 112-118 were formed, each mirrored volume 112-118 is effectively an independent logical volume. Therefore, upon rolling back one of the mirrored volumes (e.g. 114) to the base volume 110, it is possible to retain all of the other mirrored volumes 112, 116 and 118, including the later-formed mirrored volumes 116 and 118, independently of the base volume 110. However, the mirroring techniques, unlike the snapshot techniques, require considerable storage space to contain the mirrored volumes 112-118 and consume considerable processing time to form the mirrored volumes 112-118.
It is with respect to these and other background considerations that the present invention has evolved.
The present invention utilizes snapshot techniques to preserve the state of a base volume at various points in time, but enables retention of later-formed snapshot volumes upon rolling back one of the snapshot volumes into the base volume. Thus, the present invention has the above described advantages of the snapshot and mirroring techniques for preserving states of the base volume without the disadvantages, such as losing later-formed snapshot volumes and consuming excessive processing time or storage space.
Upon rolling back one of the snapshot volumes to the base volume, the writes of the data from the rollback snapshot volume to the base volume are treated as ordinary writes to the base volume. Thus, data is copied from the base volume to any of the other snapshot volumes when necessary to preserve the states of the base volume at the points in time when the other snapshot volumes were formed. In this manner, the later-formed, as well as the earlier-formed, snapshot volumes can be retained after rolling back the base volume. It is possible, then, to xe2x80x9croll backxe2x80x9d the base volume xe2x80x9cforwardxe2x80x9d to the state of one of the later-formed snapshot volumes if desired.
A more complete appreciation of the present invention and its scope, and the manner in which it achieves the above noted improvements, can be obtained by reference to the following detailed description of presently preferred embodiments of the invention taken in connection with the accompanying drawings, which are briefly summarized below, and the appended claims.